Synthesis of Impartial Deadlock - free Programs for Concurrent Systems
نویسندگان
چکیده
This paper provides an algorithm for parallel program synthesi s. We study the particular but frequent case of sequential processes cooperation via shared resources. Given such a set of these processes (which may be non deterministic ones) , the algorithm outputs a parallel progra m which ensures safeness, liveness and fairness. The algorithm is divided in three parts: first it computes f or each process some sets of unavoidable local states, thus if possible it selects one of these sets for each pro cess-the selected sets must fulfill some constraints o f consistency-at last it builds the program by adding new cond itions on the local evolution of each process. The advantages of this algorithm are numerous: there is no cen tralized mechanism, the communication is organized through a virtual ring, and at last the algorithm is inc remental (i.e. some parts of the algorithm do not need to be computed again if another process is added). This work has been done while J. Ezpeleta was a researche r at the laboratory MASI under grant of the "Programa Nacional de becas de folmacion de Personal investi gador en el Extranjero" of the "Ministerio de Educacion y Ciencia" of Spain.It was partially supported b y the DEMON Esprit Basic Research Action 3148 and the PRONTIC-O358/89
منابع مشابه
Concurrent data representation synthesis Citation
We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as well as the placement and acquisition of locks to synchronize concurrent access to those data structures. The resulting code is correct by constr...
متن کاملA Core Model for Choreographic Programming
We investigate the foundations of Choreographic Programming, a paradigm for writing concurrent programs that are deadlock free by construction, guided by the notion of computation. We start by introducing Minimal Choreographies (MC), a language that includes only the essential primitives of the paradigm. MC is minimal wrt Turing completeness: it implements all computable functions, and restrict...
متن کاملTypes for Deadlock-Free Higher-Order Concurrent Programs
Deadlock freedom is for concurrent programs what progress is for sequential ones: it indicates the absence of stable (i.e., irreducible) states in which some pending operations cannot be completed. In the particular case of communicating processes, operations are inputs and outputs on channels and deadlocks may be caused by mutual dependencies between communications. In this work we define an e...
متن کاملA minimal property for characterizing deadlock-free programs
A fundamental issue in the development of concurrent programs is the resource allocation problem. Roughly speaking, it consists of providing some mechanism to avoid race conditions in the access of shared resources by two or more concurrent processes. For such a task, maybe the most widely mechanism consists of using critical sections. Unfortunately, it is also widely-known that programs which ...
متن کاملA Partially Deadlock - free Typed Process Calculus ( I ) { A Simple System
Concurrency primitives play an important role in describing programs on parallel/distributed environments and also in writing interactive programs. Theoretical supports for concurrency primitives, however, have so far been very limited. Several type systems have been recently proposed through process calculi, but most of them do not solve inherent problems in concurrent programs: deadlock and n...
متن کامل